// 导入 express
const express = require("express");
// 创建路由对象
const router = express.Router();
// 导入fs和multer模块
let multer = require("multer");
// 定义用户头像的存放路径
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, "uploads/userpics");
  },
  filename: function (req, file, cb) {
    cb(null, file.originalname);
  },
});
const upload = multer({ storage: storage });

// 导入用户信息的处理函数模块
const userinfo_handler = require("../router-handler/userinfo");

// 导入验证规则的中间件
const expressJoi = require("@escook/express-joi");
// 导入需要的验证规则对象
const {
  update_userinfo_schema,
  update_password_schema,
} = require("../schema/user");

// 上传用户头像
router.post(
  "/updateAvatar",
  upload.single("avatar"),
  userinfo_handler.updateAvatar
);

// 更新用户图像路径
router.post("/updateAvatarUrl", userinfo_handler.updateAvatarUrl);

// 获取用户的基本信息
router.get("/userinfo", userinfo_handler.getUserInfo);

//更新用户信息的路由
router.post(
  "/userinfo",
  expressJoi(update_userinfo_schema),
  userinfo_handler.updateUserInfo
);

// 修改密码的路由(重置密码的路由)
router.post(
  "/updatepwd",
  expressJoi(update_password_schema),
  userinfo_handler.updatePassword
);

// 用户注销接口
router.post("/deleteuser", userinfo_handler.deleteuser);

// 向外共享路由对象
module.exports = router;
